perm filename LINES.FAI[TMP,LCS] blob sn#149704 filedate 1975-03-09 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002		TITLE LINES
C00007 ENDMK
C⊗;
	TITLE LINES
	EXTERNAL DST,SIZ,PLTR,DPY,AIVECT,AVECT,PLOT,.COMM.
	ENTRY LINES	;	SUBROUTINE LINES(A,B,L)
	DEFINE FIXX(N)	;	COMMON/DST/BB,CC
   <	JUMPGE N,.+5	;	COMMON /SIZ/RSZ,JCEN,KCEN /FL/IC,NZ,NX,RZ,XGP
	MOVNS N		;	COMMON/DL/IXRX,SAVER,AA /PLTR/IPLT,RHT,DIS
	FIX N,233000	;	COMMON R2,JA,CENTR,JB,RJQ(20),JQ(20)
	MOVNS N		;	COMMON/DPY/JJ(4000),WDS(250),MEDIT,IGO
	CAIA		;	EQUIVALENCE (ITOP,JJ(3999)),(IBOT,JJ(4000))
	FIX N,233000  >	;	1,(JJ2,JJ(2))
	DEFINE FLOAT(N)	;	DATA BB/.008/,CC/3.5/
   <	TLC N,232000	;C  SET XGP TO 1200.0 FOR MARGIN IN XEROX COPIES
	FADR N,N      >
	DEFINE ABS(N)
   <	SKIPGE N
	MOVNS N	      >
	T←1 ↔ M←2 ↔ N←3 ↔ K←4

LINES:	0
			;	GO TO 23
	JRST L23
			;22	IF(JQ(1).NE.0)GO TO 23
L22:	SKIPE PLTR+=27
	JRST L23
			;	IF(CC.EQ.1000)GO TO 23
	MOVSI T,212764
	CAMN T,DST+1
	JRST L23
			;	B=B*(CC-BB*ABS(A))
	MOVE T,@(16)
	ABS(T)
	FMPR T,DST
	FSBR T,DST+1
	FMPRM T,@1(16)
	MOVNS @1(16)
			;23	IF(IPLT)GO TO 2
L23:	SKIPGE PLTR
	JRST L2
			;	M=A*RSZ
	MOVE M,@(16)
	FMPR M,SIZ
	FIXX(M)
			;	N=B*RSZ
	MOVE N,@1(16)
	FMPR N,SIZ
	FIXX(N)
			;	IF(RSZ.LE.0.8571)GO TO 3
	MOVE T,[=0.8571]
	CAML T,SIZ
	JRST L3

			;	M=M-JCEN
	SUB M,SIZ+1
			;	N=N-KCEN
	SUB N,SIZ+2
			;	IF(JA.NE.8)GO TO 5
	MOVEI T,10
	CAME T,.COMM.+1
	JRST L5
			;	IF(M.GT.511)M=511
	CAMLE M,[=511]
	HRRZI M,=511
			;	IF(M.LT.-511)M=-511
	CAMGE M,[-=511]
	HRROI M,-=511
			;5	IF(IABS(M).GT.512)GO TO 77
L5:	CAIG M,=512
	CAMGE M,[-=512]
	JRST L77
			;	IF(IABS(N).LT.512)GO TO 4
	CAIGE N,=512
	CAMG N,[-=512]
	CAIA
	JRST L4
			;77	KZ=-1
L77:	SETOM KZ#
			;	RETURN
	JRA 16,3(16)
			;4	IF(KZ.EQ.0)GO TO 6
L4:	SKIPN KZ
	JRST L6
			;	KZ=0
	SETZM KZ
	MOVEM M,MM#	;	GO TO 1
	MOVEM N,NN#
	JRST L1
			;3	IF(JA.EQ.44)GO TO 6
L3:   	MOVEI T,54
	CAMN T,.COMM.+1
	JRST L6
			;	K=B
	MOVE K,@1(16)
	FIXX(K)
			;	IF(K.GT.ITOP)ITOP=B
	CAMG K,DPY+=3998
	JRST L333
	MOVE T,@1(16)
	FIXX(T)
	MOVEM T,DPY+=3998

			;	IF(K.LT.IBOT)IBOT=B
L333:	CAML K,DPY+=3999
	JRST L6
	MOVE T,@1(16)
	FIXX(T)
	MOVEM T,DPY+=3999
			;6	IF(JJ2.GT.3990)RETURN
L6:   	MOVEI T,7626
	CAMGE T,DPY+1
	JRA 16,3(16)
			;	IF(L.EQ.3)GO TO 1
	MOVEM M,MM
	MOVEM N,NN
	HRRZI T,3
	CAMN T,@2(16)
	JRST L1
			;	CALL AVECT(M,N)
	JSA 16,AVECT
	JUMP MM
	JUMP NN
			;	RETURN
	JRA 16,3(16)
			;1	CALL AIVECT(M,N)
L1:   	JSA 16,AIVECT
	JUMP MM
	JUMP NN
			;	RETURN
	JRA 16,3(16)
			;2	IF(IPLT.EQ.-2)RETURN
L2:   	MOVNI T,2
	CAMN T,PLTR
	JRA 16,3(16)
			;9	M=ROFF(A*DIS)
L9:   	MOVE M,@(16)
	FMPR M,PLTR+2
	SKIPGE M
	FADR M,[-=1.0]
	FADR M,[=0.5]
	FIXX(M)
	MOVEM M,MM
			;	N=ROFF(B*RHT)
	MOVE N,@1(16)
	FMPR N,PLTR+1
	SKIPGE N
	FADR N,[-=1.0]
	FADR N,[=0.5]
	FIXX(N)
	MOVEM N,NN
			;8	CALL PLOT(M,N,L)
L8:	MOVE T,@2(16)
	MOVEM T,LL#
	JSA 16,PLOT
	JUMP MM
	JUMP NN
	JUMP LL
			;	END
	JRA 16,3(16)
	END